#CalculateDir.py 计算文件夹大小

#导入OS模块
import os

#定义计算文件夹大小函数
def Calculatefile(dir_str):
    #定义目录大小初始值
    total = 0
    #获取目录下所有文件大小
    for i in os.listdir(dir_str):
        file_str = os.path.join(dir_str,i)
        #判断为文件时
        if os.path.isfile(file_str):
            total+=os.path.getsize(file_str)
        #不为文件时，递归调用
        else:
            total+=Calculatefile(file_str)
    #返回目录大小
    return total

#调用

print("-"*13,"计算文件夹目录大小","-"*13)
print("\n说明：输入为文件名时，计算文件当前所在目录大小\n")
print("-"*46)
path_str = input("请输入需要计算大小的路径：")

if os.path.exists(path_str):
    if os.path.isfile(path_str):
        dir_name = os.path.dirname(path_str)
        i=Calculatefile(dir_name)
        print(path_str,"文件所在目录大小为",i)
    else:
        i=Calculatefile(path_str)
        print(path_str,"目录大小为",i)
else:
    print(path_str,"该路径不存在！")
